package com.zzyl.service;

import com.zzyl.base.PageBean;
import com.zzyl.dto.RoleDto;
import com.zzyl.entity.Role;
import com.zzyl.vo.RoleVo;

import java.util.List;
import java.util.Set;

public interface RoleService {

    /**
     * 页面
     *
     * @param pageNum  书籍页码
     * @param pageSize 页面大小
     * @param roleDto  角色dto
     * @return {@code PageBean<RoleVo> }
     * @author 16203
     */
    PageBean<RoleVo> page(Integer pageNum, Integer pageSize, RoleDto roleDto);

    /**
     * 创建角色
     *
     * @param roleDto 角色dto
     * @author 16203
     */
    void createRole(RoleDto roleDto);

    /**
     * 查找已检查资源
     *
     * @param roleId 角色id
     * @return {@code List<String> }
     * @author 16203
     */
    List<String> findCheckedResources(Long roleId);

    /**
     * 更新角色
     *
     * @param roleDto 角色dto
     * @author 16203
     */
    void updateRole(RoleDto roleDto);

    /**
     * 删除角色
     *
     * @param roleIds 角色ID
     * @author 16203
     */
    void deleteRole(Long roleIds);

    /**
     * 查询所有列表
     *
     * @return {@code List<RoleVo> }
     * @author 16203
     */
    List<Role> list();
}
